home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / M-More Monthly Disks / (c)m9.d64 / super pac hunt.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  10KB  |  321 lines

  1. 50 MN=13
  2. 100 POKE53280,0:MEN(1)=3:MEN(2)=3:LEVEL(1)=1:LEVEL(2)=1
  3. 200 POKE21,0:PRINT"[147]":POKE53281,0:PRINT"":GOSUB24500:S=54272:GOSUB16400
  4. 300 PRINT"[147]":FORX=1TO22:PRINT"[166].............................[166]":POKES+X,0:NEXT
  5. 400 FORX=1TO31:PRINT"[166]";:NEXT:QQ(1)=0:QQ(2)=0:EE(1)=0:EE(2)=0:XN=0:AT=0
  6. 500 PRINT"":FORX=1TO31:PRINT"[166]";:NEXT:LL(1)=3:LL(2)=3
  7. 577 POKE2040,A
  8. 600 X=40:Y=63:X1=224:Y1=72:X2=40:Y2=198
  9. 700 PRINT"PLAYER#"
  10. 800 PRINT" 1": U=1:AX=1
  11. 900 PRINT"SCORE 1"
  12. 1000 PRINT"     [146]"
  13. 1100 PRINT"SCORE 2"
  14. 1200 PRINT"     [146]"
  15. 1300 PRINT"MEN"MEN(AX)
  16. 1400 PRINT"LEVEL"LEVEL(AX)
  17. 1500 PRINT"HIGH"
  18. 1600 PRINT"SCORE"
  19. 1700 PRINT""BR$
  20. 1800 PRINT""HS
  21. 1900 PRINT"";TAB(33)"PANIC"LL(AX)
  22. 2000 PRINT"BY MIKE MUNNELLY"
  23. 2100 V=53248:POKEV+21,7
  24. 2200 POKEV+39,7:POKEV+40,15:POKEV,X:POKEV+1,Y:POKEV+2,X1
  25. 2300 POKEV+41,12:POKEV+4,X2
  26. 2400 POKE2040,13:POKE2041,14:POKE2042,15
  27. 2500 FORN1=832TO894:READQ1:POKEN1,Q1:NEXT
  28. 2600 FORN2=896TO958:READQ2:POKEN2,Q2:NEXT
  29. 2700 FORN3=960TO1022:READQ3:POKEN3,Q3:NEXT
  30. 2750 FORN4=12736TO12798:READQ4:POKEN4,Q4:NEXT:GOSUB30800
  31. 2800 FORPP=0TO1STEP0
  32. 2900 W=PEEK(56322-AX)AND15:IFJS=2THENGOSUB28500
  33. 3000 IFJS=2THENGOTO3200
  34. 3100 QP(AX)=-((PEEK(56322-AX)AND16)=0):POKEV+21,7
  35. 3200 GOSUB9000
  36. 3300 GOSUB24700
  37. 3400 GOSUB27400
  38. 3500 GOSUB7500
  39. 3600 GOSUB8000
  40. 3700 IFTY(AX)=1THENGOSUB25200
  41. 3750 MN=MN+186:IFMN<>199THENMN=13
  42. 3760 POKE2040,MN
  43. 3800 IFPEEK(V+29)=0THENGOTO4000
  44. 3900 POKEV,X-8:POKEV+1,Y-8:GOTO4100
  45. 4000 POKEV,X:POKEV+1,Y
  46. 4100 POKEV+3,Y1:POKEV+5,Y2:IFQQ(AX)=0THENGOTO4700
  47. 4200 IFQQ(AX)/10000<>INT(QQ(AX)/10000)THENGOTO4700
  48. 4300 MEN(AX)=MEN(AX)+1:
  49. 4400 H=1
  50. 4500 PRINT"MEN"MEN(AX)
  51. 4600 GOSUB15200:H=1:GOSUB15200:H=1:GOSUB15200
  52. 4700 POKEV+2,X1:POKEV+4,X2
  53. 4800 IFAX=1THENPRINT""TAB(32);"      "
  54. 4900 IFAX=1THENPRINT""TAB(32);"";QQ(1)
  55. 5000 IFAX=2THENPRINT""TAB(32);"      "
  56. 5100 IFAX=2THENPRINT""TAB(32);"";QQ(2)
  57. 5200 GOSUB9000
  58. 5300 IFEE(AX)=608THENGOSUB13400
  59. 5400 B=X-16:A=Y-47
  60. 5500 F=(B/8)+(A*5)+1024
  61. 5600 IFPEEK(F)=46THENEE(AX)=EE(AX)+1:QQ(AX)=QQ(AX)+DE(AX)
  62. 5700 IFPEEK(F)=46THENPOKEF,32
  63. 5800 NEXTPP
  64. 5900 REM PAC DATA
  65. 6000 DATA0,0,0,0
  66. 6100 DATA254,0,1,255,0,3,251,128,7,255,192,15,255,224,31,255,192,31,255
  67. 6200 DATA0,31,252,0
  68. 6300 DATA31,252,0,31,255,0,31,255,192,15,255,224,7,255,192,3,255,128,1,255,0,0,254
  69. 6400 DATA,,,,,,,,,,,
  70. 6500 REM MONSTER DATA
  71. 6600 DATA0,0,0,0,0,124,0,0,254,0,1,255,0,3,153,128,3,153,128,7,255,192,7,255,192,7
  72. 6700 DATA255,192,7,255,192,7,255,192,7,255,192,7,255,192,7,255,192,7,255,192,7
  73. 6800 DATA125,192,6,52,192,4,16,64,0,0,0,0,0,0,0,0,0,0,0,0
  74. 6900 REM MONSTER DATA(#2)
  75. 7000 DATA0,0,0,0,0,0
  76. 7100 DATA0,0,0,0,124,0,0,254,0,1,255,0,3,153,128,3,153,128,7,255,192,7,255,192,7
  77. 7200 DATA255,192,7,255,192,7,255,192,7,255,192,7,255,192,7,255,192,7,255,192,7
  78. 7300 DATA125,192,6,52,192,4,16,64,,,,
  79. 7310 DATA254,,1,255,,3,251,128,7,255,192,15,255,224,31,255,240,31,255
  80. 7320 DATA240,31,255,240
  81. 7330 DATA31,255,240,31,255,240,31,255,192,15,255,224,7,255,192,3,255,128,1
  82. 7340 DATA255,,,254,,,,,,,,,,,,,,,,,,,,,,,
  83. 7400 RETURN
  84. 7500 IFW=14THENT=0:I=-8
  85. 7600 IFW=13THENT=0:I=8
  86. 7700 IFW=11THENI=0:T=-8
  87. 7800 IFW=7THENI=0:T=8
  88. 7900 RETURN
  89. 8000 X=X+T:Y=Y+I
  90. 8100 IF Y=<57 THENA=23
  91. 8200 IF X=<21 THENA=15
  92. 8300 IF Y=>225 THENA=23
  93. 8400 IF X=>254 THENA=15
  94. 8500 IFA<>23THENGOTO8700
  95. 8600 Y=Y-I:W=15:A=0
  96. 8700 IFA<>15 THENRETURN
  97. 8800 X=X-T:W=15:A=0
  98. 8900 RETURN
  99. 9000 IFY>Y1THENZZ=SA(AX)
  100. 9100 IFY<Y1THENZZ=-SA(AX)
  101. 9200 IFX<X1THENWW=-SA(AX)
  102. 9300 IFX>X1THENWW=SA(AX)
  103. 9400 Y1=Y1+ZZ+SGN(ZZ):X1=X1+WW+SGN(WW)
  104. 9500 IFY>Y2THENZS=SA(AX)
  105. 9600 IFY<Y2THENZS=-SA(AX)
  106. 9700 IFX<X2THENWS=-SA(AX)
  107. 9800 IFX>X2THENWS=SA(AX)
  108. 9900 Y2=Y2+ZS:X2=X2+WS
  109. 10000 IFPEEK(V+30)<>0THENGOSUB12800
  110. 10100 IFXN=1THENMEN(AX)=MEN(AX)-1
  111. 10200 IFXN=1THENPOKEV+21,1:GOTO10400
  112. 10300 RETURN
  113. 10400 IFYQ=1THENGOTO10600
  114. 10500 IFMEN(1)<=-1THENYC=YC+1:YQ=1
  115. 10600 IFYD=1THENGOTO10800
  116. 10700 IFMEN(2)<=-1THENYC=YC+2:YD=1
  117. 10800 IFYQ=1THENAX=1
  118. 10900 IFYD=1THENAX=2
  119. 11000 Z=0:QP=0
  120. 11100 GOSUB28000:GOSUB26300
  121. 11200 GOSUB29200
  122. 11300 IFYY$<>"1"THENAX=AX+1:IFAX=3THENAX=1
  123. 11400 IFYC=3THENGOTO22600
  124. 11500 IFYC=1ANDYY$="1"THENGOTO22600
  125. 11600 GOSUB26300
  126. 11700 GOSUB29900
  127. 11800 XN=0
  128. 11900 PRINT""AX
  129. 12000 PRINT"MEN"MEN(AX)
  130. 12100 PRINT"LEVEL"LEVEL(AX)
  131. 12200 PRINT"PANIC"LL(AX)
  132. 12300 X=40:Y=63:X1=224:Y1=72:X2=40:Y2=198
  133. 12400 POKEV+1,Y:POKEV+3,Y1:POKEV+5,Y2
  134. 12500 POKEV,X:POKEV+2,X1:POKEV+4,X2
  135. 12600 POKEV+23,0:POKEV+29,0:VD(AX)=0:TY(AX)=0:QP(AX)=0:Z=0
  136. 12700 RETURN
  137. 12800 IF TY(AX)=1THENRETURN
  138. 12900 A=PEEK(V+30):IFA<>3ANDA<>5THENRETURN
  139. 13000 XN=1
  140. 13100 POKEV+2,1:POKEV+4,1
  141. 13200 RETURN
  142. 13300 FORTR=1TO50:NEXTTR
  143. 13400 PRINT"[147]":FORX=1TO22:PRINT"[166].............................[166]":NEXT
  144. 13500 FORX=1TO31:PRINT"[166]";:NEXT
  145. 13600 PRINT"":FORX=1TO31:PRINT"[166]";:NEXTX
  146. 13700 PRINT"PLAYER#"
  147. 13800 PRINT" 1": U=1:AX=1
  148. 13900 PRINT"SCORE 1"
  149. 14000 PRINT"     [146]"
  150. 14100 PRINT"SCORE 2"
  151. 14200 PRINT"     [146]"
  152. 14300 PRINT"MEN"MEN(AX)
  153. 14400 PRINT"LEVEL"LEVEL(AX)
  154. 14500 PRINT"HIGH"
  155. 14600 PRINT"SCORE"
  156. 14700 PRINT""BR$
  157. 14800 PRINT""HS
  158. 14900 PRINT"";TAB(33)"PANIC"LL(AX)
  159. 15000 PRINT"BY MIKE MUNNELLY"
  160. 15100 POKEV+23,0:POKEV+29,0:VD(AX)=0:TY(AX)=0:QP(AX)=0:Z=0
  161. 15200 FORR=1TO75:NEXTR:POKES+1,20:POKES+5,9:POKES+6,9:POKES+24,15
  162. 15300 POKE S+4,17:FORD=1TO40:NEXTD:POKES+4,16:IFH=1THENH=0:RETURN
  163. 15400 SA(AX)=SA(AX)+1:LL(AX)=LL(AX)+1
  164. 15500 FORR=1TO75:NEXTR:POKES+1,20:POKES+5,9:POKES+6,9:POKES+24,15
  165. 15600 POKE S+4,17:FORD=1TO40:NEXTD:POKES+4,16
  166. 15700 EE(AX)=0:LEVEL(AX)=LEVEL(AX)+1
  167. 15800 DE(AX)=DE(AX)+50:QP=0
  168. 15900 X=40:Y=63:X1=224:Y1=72:X2=40:Y2=198
  169. 16000 PRINT"LEVEL"LEVEL(AX)
  170. 16100 PRINT"PANIC"LL(AX)
  171. 16200 FORR=1TO75:NEXTR:POKES+1,20:POKES+5,9:POKES+6,9:POKES+24,15
  172. 16300 RETURN
  173. 16400 V=53248:POKEV,1:POKEV+2,1:POKEV+4,1:FORQ=STOS+24:POKEQ,0:NEXT:POKEV+21,0
  174. 16500 PRINT"[158]PAC HUNT":GOSUB21400
  175. 16600 PRINT"THE GHOST MONSTERS HAVE FINALLY BLOWN"
  176. 16700 PRINT"THEIR STACK.  THEY ARE CHASING YOU"
  177. 16800 PRINT"ALL OVER THE PLACE.  IT IS YOUR MISSION"
  178. 16900 PRINT"TO ESCAPE THE GHOST MONSTERS AND LIVE"
  179. 17000 PRINT"TO GET TO THE NEXT LEVEL.  YOUR SCORE"
  180. 17100 PRINT"IS THE NUMBER OF DOTS YOU EAT.  IF"
  181. 17200 PRINT"YOU EAT ALL THE DOTS ON ALEVEL"
  182. 17300 PRINT"YOU ARE ADVANCED TO THE NEXT"
  183. 17400 PRINT"LEVEL WHERE THE GHOST MONSTERS "
  184. 17500 PRINT"MOVE EVEN FASTER.  YOU GET A"
  185. 17600 PRINT"FREE MAN AT 10, 20, 30... THOUSAND."
  186. 17700 PRINT"IF YOU GET IN REAL TROUBLE, PRESS THE"
  187. 17800 PRINT"FIRE BUTTON, IT WILL SAVE YOU. IT "
  188. 17900 PRINT"WILL NOT LAST LONG SO ESCAPE AS FAST"
  189. 18000 PRINT"AS YOU CAN. YOU GET THREE TO BEGIN, AND"
  190. 18100 PRINT"ONE EVERY LEVEL. SO BE CAREFUL."
  191. 18200 PRINT"YOU WILL HAVE TO WAIT AFTER YOU DIE"
  192. 18300 PRINT"AND AT THE BEGINING.  DON'T WORRY"
  193. 18400 PRINT"PLAYER 1 IS ON JOYSTICK ONE AND PLAYER"
  194. 18500 PRINT"2 IS ON JOYSTICK 2.  GOOD LUCK."
  195. 18600 PRINT"DO YOU WANT 1 OR 2 PLAYERS"
  196. 18700 GET YY$:IFYY$=""THENGOTO18700
  197. 18800 PRINT"[147]ENTER JOYSTICKS(1) OR THE KEYBOARD(2)"
  198. 18900 GETJS:IFJS=0THENGOTO18900
  199. 19000 IFJS=1THENGOTO19600
  200. 19100 INPUT"WHAT KEY FOR UP";U$
  201. 19200 INPUT"WHAT KEY FOR DOWN";D$
  202. 19300 INPUT"WHAT KEY FOR LEFT";L$
  203. 19400 INPUT"WHAT KEY FOR RIGHT";R$
  204. 19500 INPUT"WHAT KEY FOR FIRE";F$
  205. 19600 PRINT"[147]PLAYER 1. WHAT LEVEL TO START AT? 1"
  206. 19700 GETA$:IFA$=CHR$(13)THENA$="1"
  207. 19800 IFA$=""THENGOTO19700
  208. 19900 LEVEL(1)=VAL(A$)
  209. 20000 DE(1)=50:DE(2)=50:SA(1)=1
  210. 20100 SA(1)=SA(1)+LEVEL(1)
  211. 20200 DE(1)=DE(1)*LEVEL(1)
  212. 20300 IFYY$="1"THENRETURN
  213. 20400 PRINT"[147]PLAYER 2. WHAT LEVEL TO START AT? ";A$
  214. 20500 GETB$
  215. 20600 IFB$=CHR$(13)THENB$=A$:GOTO20900
  216. 20700 IFB$<>""THENGOTO20900
  217. 20800 GOTO20500
  218. 20900 LEVEL(2)=VAL(B$)
  219. 21000 SA(2)=1
  220. 21100 SA(2)=SA(2)+LEVEL(2)
  221. 21200 DE(2)=DE(2)*LEVEL(2)
  222. 21300 RETURN
  223. 21400 PRINT"     INSERT COIN(S)"
  224. 21500 PRINT"     HIGH SCORES"
  225. 21600 IFHS=10000THENBR$="C64"
  226. 21700 PRINT""BR$
  227. 21800 PRINT"    "HS
  228. 21900 GETA$:IFA$<>""THEN RETURN
  229. 22000 GOTO21900
  230. 22100 IFYY$="1"THENGOTO22600
  231. 22200 AX=AX+1:IFAX=3THENAX=1
  232. 22300 IFMEN(AX)=0THENGOTO22600
  233. 22400 YY$="1"
  234. 22500 RETURN
  235. 22600 IFQQ(1)>HSANDQQ(1)>QQ(2)THEN AT=1
  236. 22700 FORX=1TO30:GETB$:NEXT
  237. 22800 IFQQ(2)>HSANDQQ(2)>QQ(1)THEN AT=2
  238. 22900 POKEV,1:POKEV+2,1:POKEV+4,1
  239. 23000 IFAT=1THENINPUT"[147]PLAYER 1. ENTER INITIALS";BT$
  240. 23100 IFAT=2THENINPUT"[147]PLAYER 2. ENTER INITIALS";BT$
  241. 23200 BR$=LEFT$(BT$,3)
  242. 23300 IFAT=1THENHS=QQ(1)
  243. 23400 IFAT=2THENHS=QQ(2)
  244. 23500 IFQQ(1)<>HSANDQQ(2)<>HSTHENPRINT"[147]"
  245. 23600 POKEV,1:POKEV+2,1:POKEV+4,1
  246. 23700 IFQQ(1)<>HSANDQQ(2)<>HSTHENPRINT"[147]"
  247. 23800 RESTORE
  248. 23900 XN=0:EE(1)=0:EE(2)=0:MEN(1)=3:MEN(2)=3:QQ(1)=0:QQ(2)=0:AT=0:YY$="0"
  249. 24000 YC=0:YD=0:YQ=0
  250. 24100 X=40:Y=63:X1=224:Y1=72:X2=40:Y2=198:DE(1)=10:DE(2)=10
  251. 24200 POKEV+1,Y:POKEV+3,Y1:POKEV+5,Y2
  252. 24300 POKEV,X:POKEV+2,X1:POKEV+4,X2
  253. 24400 GOTO100
  254. 24500 IFHS<>0THENRETURN
  255. 24600 BR$="C64":HS=10000:RETURN
  256. 24700 IFQP(AX)=0THENRETURN
  257. 24800 IFLL(AX)=<0THENRETURN
  258. 24900 IFTY(AX)=1THENRETURN
  259. 25000 LL(AX)=LL(AX)-1:
  260. 25100 TY(AX)=1
  261. 25200 VD(AX)=VD(AX)+1:
  262. 25300 IFVD(AX)=30THENTY(AX)=0
  263. 25400 IFVD(AX)=30THENVD(AX)=0
  264. 25500 IFVD(AX)=25THENPOKEV+39,1
  265. 25600 IFVD(AX)=29THENPOKEV+39,7
  266. 25700 IFVD(AX)=1THEN:POKEV+29,1:POKEV+23,1
  267. 25800 IFVD(AX)=29THENPOKEV+29,0:POKEV+23,0
  268. 25900 IFVD(AX)=29THENQP(AX)=0
  269. 26000 IFVD(AX)=1THENQP(AX)=1
  270. 26100 IFVD(AX)=1THENPRINT"";TAB(33)"PANIC"LL(AX)
  271. 26200 RETURN
  272. 26300 IFYC=1THENPRINT"";TAB(33)"GAME   [157][157][157][157][157][157][157]OVER[157][157][157][157]PLAYER1"
  273. 26400 IFYC=2THENPRINT"";TAB(33)"GAME   [157][157][157][157][157][157][157]OVER[157][157][157][157]PLAYER2"
  274. 26500 IFYC=3THENPRINT"GAME OVER[146]":GOTO22600
  275. 26600 POKEV+23,0:POKEV+29,0:VD(AX)=0:TY(AX)=0
  276. 26700 IFYC=0THENRETURN
  277. 26800 RETURN
  278. 26900 GOTO22600
  279. 27000 X=40:Y=63:X1=224:Y1=72:X2=40:Y2=198:DE(1)=10:DE(2)=10
  280. 27100 POKEV+1,Y:POKEV+3,Y1:POKEV+5,Y2
  281. 27200 POKEV,X:POKEV+2,X1:POKEV+4,X2
  282. 27300 RETURN
  283. 27400 POKES+1,10
  284. 27500 POKES+5,4
  285. 27600 POKES+6,8
  286. 27700 POKES+24,15
  287. 27800 POKES+4,19
  288. 27900 POKES+4,16:RETURN
  289. 28000 TP=15
  290. 28100 TP=TP-1:IFTP=10THENTP=6
  291. 28200 IFTP<>5THEN28400
  292. 28300 POKES+1,0:RETURN
  293. 28400 POKES+1,TP:POKES+4,17:POKES+5,128:POKES+6,128:FORU=1TO200:NEXTU:GOTO28100
  294. 28500 GET TE$:IFTE$=U$THENW=14
  295. 28600 IFTE$=D$THENW=13
  296. 28700 IFTE$=R$THENW=7
  297. 28800 IFTE$=L$THENW=11
  298. 28900 IFTE$=U$THENW=14
  299. 29000 IFTE$=F$THENZ=1
  300. 29100 RETURN
  301. 29200 IFYY$="1"THENRETURN
  302. 29300 IFJK=0THENGOSUB30500
  303. 29400 IFAX=1THENGOTO29700
  304. 29500 FORTU=1064TO1974:VY(TU)=PEEK(TU):NEXTTU
  305. 29600 RETURN
  306. 29700 FORTU=1064TO1974:VZ(TU)=PEEK(TU):NEXTTU
  307. 29800 RETURN
  308. 29900 IFYY$="1"THENRETURN
  309. 30000 IFAX=1THENGOTO30300
  310. 30100 FORTU=1064TO1974:POKETU,VY(TU):POKETU+54272,1:NEXTTU
  311. 30200 RETURN
  312. 30300 FORTU=1064TO1974:POKETU,VZ(TU):POKETU+54272,1:NEXTTU
  313. 30400 RETURN
  314. 30500 DIMVZ(2000)
  315. 30600 DIMVY(2000)
  316. 30700 JK=1:RETURN
  317. 30800 AX=1:GOSUB29200
  318. 30900 AX=2:GOSUB29200
  319. 31000 AX=1
  320. 31100 RETURN
  321.